package demo2;

import java.util.concurrent.*;

public class Main {
    public static void main(String[] args) {
        //1.用来处理大量短时间工作任务的线程池，如果池中没有可用的线程将创建新的线程，如果线程空闲60秒讲收回并移除缓存
        ExecutorService executorService = Executors.newCachedThreadPool();
        //2.创建一个操作无界队列且固定大小的线程池
        ExecutorService executorService1 = Executors.newFixedThreadPool(3);
        //3.创建一个操作无界队列且只有一个工作线程的线程池
        ExecutorService executorService2 = Executors.newSingleThreadExecutor();
        //4.创建一个单线程执行器，可以在给定时间后执行或定期执行
        ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
        //5. 创建一个指定大小的线程池，可以在给定时间后执行或定期执行
        ScheduledExecutorService scheduledExecutorService1 = Executors.newScheduledThreadPool(3);
        //6. 创建一个指定大小（不传入参数，为当前机器cpu核心数）的线程池，并行处理任务，不保证处理顺序
        ExecutorService executorService3 = Executors.newWorkStealingPool();

    }
}
